Reliably, quickly, and intuitively transmitting complex commands to small portable computers can be difficult. Small computer devices do not generally have sufficient computer processing power to respond reliably to voice or handwritten (pen based) commands, keyboards are often absent or too small for accurate finger input, and conventional buttons are too large or support too limited a command instruction set. User interface techniques that rely on bulky external modules (full size infrared linked keyboards, tethered data gloves, or camera based gestural recognition equipment, for example) are expensive, often not readily available outside selected sites, and probably too awkward for widespread use in conjunction with consumer level portable computing devices.
User interface designers for portable computers have attempted to compensate for some of these problems by constructing devices that rely on various spatial, positional, or environmental cues that manually or automatically allow for activation of various modes in the device. For example, some laptop computers use the action of opening/closing the lid to initiate automatic bootup/powerdown of the computer without requiring any additional signal input (e.g. such as depressing a "start" button or typing "l.sub.13 o.sub.13 g.sub.13 o.sub.13 n" on a keyboard) from a user. Alternatively, the use of small portable computers that automatically switch control modes depending on position, orientation, or room location have been investigated. Buttonless manual control of a portable computer through deliberate user actions such as tilting the portable computer have also been described.
However, all these solutions for interfacing with small portable computers have generally been limited in scope and functionality. What is needed is a user interface system suitable for even very small portable computers (having volumetric dimensions on the order of a one cubic centimeter) that is powerful, can be intuitively operated by an ordinary user with little training, and is still readily capable of modification or extension by the user. The present invention meets these requirements by providing a manipulatory user interface that responds to a user twisting, folding, bending, squeezing, shaking, tilting, spinning, lifting, or otherwise physically manipulating the computer.
In the manipulatory user interface system of the present invention, the most basic level of manipulation is known as a "senseme". A senseme is defined as a single indivisible type of physical manipulation. A partial list of categories of sensemes include material transformations such as squeezing, twisting, stretching; local spatial transformations such as translation, rotation, orbiting; and environmental transformations based on temperature, light level, or vibration. For example, a small portable computer may support a deformable piece having multiple embedded sensors that detect folding, twisting, or bending of the deformable piece by a user. This computer can also contain a number of accelerometers that sense relative spatial information; gyroscopic, radio or infrared positional sensors for determining absolute position; and various thermal or photosensors that respectively detect temperature and light level changes. Intentional or unintentional modifications detected by one or more of these sensor systems can provide the basis for a powerful user interface scheme.
As will be appreciated, each senseme category contains many individually distinguishable members. For example, consider the category of senseme known as a "pinch", a structural transformation generally completed by a user squeezing the deformable piece between a forefinger and thumb. A pinch can be modified by varying its speed (quick or slow pinch), magnitude/intensity (light or hard pinch); portion of deformable piece pinched (top, bottom, or center of deformable piece pinched), or even portion of body used to pinch (right handed pinch or left handed pinch), with each modification being distinguishable as a senseme capable of being mapped onto a computer control command.
Although the wide variety of easily distinguishable sensemes would alone provide a powerful user interface to a computer, the present invention further extends the flexibility of the senseme based user interface by supporting computer control based on a "morpheme" input. The morpheme is a temporally synchronous (or overlapping asynchronous) tuple of one or more sensemes. Note that a morpheme can (and often will) contain more than one senseme. The sensemes combined into a morpheme can come either from the same category (the user pinches with a right hand while tapping with a left hand finger), or different categories (the user pinches the deformable piece with a right hand while modifying the spatial position of the portable computer by tilting it forward).
Any morpheme can in turn be extended by participation in a "sentence". A sentence is defined as a sequence of one or more temporally disjoint morphemes. The sentence level allows definition of a physical manipulatory grammar by appropriate choice of morpheme sequence, and corollary rules governing, for example, use of active (verb like) morphemes, naming (noun) morphemes, or connectors. Other possible grammar constructs used in sentences may include those based on "home" systems. Home systems are general-purpose gestural languages, whose grammar and syntax are not borrowed in any way from a host language. Examples of these languages are gestural languages developed by deaf children of hearing parents who have not been exposed to American Sign Language (ASL), and the "plains talk" of North American Indians, which was used as a trade language.
Accordingly, the present invention provides a method for inputting information to a computer connected to a deformable piece that can be manipulated, and optionally to various position sensors (both relative and absolute), pressure sensors, thermal sensors, or even light sensors. The method comprises the steps of manipulating the deformable piece to provide a first morpheme input to the computer, with the first morpheme input normally triggering a first default action by the computer. The deformable piece may also be manipulated to provide a second morpheme input to the computer, with the second morpheme input converting the normally triggered first default action to a second action. The first and second morphemes (and any subsequent morphemes) together form a sentence that can be interpreted as a command to implement a computer controlled action, whether it be to unlock an electronically controlled door, display a graphical image on a computer display, or begin logging on to a computer network. Advantageously, such a user interface system is well suited for interaction with small computer devices, and may even be cross-cultural to a limited extent, with ability to squeeze or pinch being universal human attributes.
The present invention is particularly useful for portable computers that can be held in the palm of a hand. If the portable computer is partially or completely surrounded with a deformable material having embedded or contact pressure/deformation sensors, a user is able to gesture with or manipulate the whole computer in order to achieve some desired result. Material deformation can be implemented at various scales. For instance, a computer and connected deformation sensors mounted inside a flexible tube could respond to right angle bending of the tube, or even complex knotting or looping of the tube. In practice however, only minute surface deformations are required, being just sufficient to provide tactile feedback to pressing, pinching, or bending type manipulations. In either case, however, the measurement of location and pressure applied to a surface is sufficient to characterize the mode of interaction (distinguishing a pinch from a prod).
One particularly preferred embodiment of a handheld portable computer that responds to a physical manipulatory grammar in accordance with the present invention includes a computer, a feedback module to provide visual, auditory, or tactile feedback to a user (e.g., processor connected LCD display, audio speaker, or tactile display to present Braille or other conventional touch interface), and co-mounted graspable, deformable piece partially or completely surrounding the feedback module. In addition, various thermal or pressure sensors are mounted to detect handedness of a user, with the grasping hand generally being the non-dominant hand for the user. Depending on the handedness of the user (which can be considered as a morpheme), the displayed data structure is modified. For example, text displayed on an LCD display screen may be automatically shifted rightward on the screen to allow pen based annotation on the left side of the screen, thereby aiding left handed users.
Physically manipulatable user interfaces additionally provide an opportunity for multiple devices to interact in a user friendly manner. For example, a tileable display system having multiple displays with touch sensitive deformable pieces surrounding the display can be used to organize documents based on relative position of contact of each display. For example, if two displays initially showing separate data structures (e.g. two different pages from two different electronic books) are brought together in side by side touching contact, the displayed visual information can alter (e.g. by displaying adjacent pages of a single electronic book). As will be appreciated, one can also use multiple computers connected to physically manipulatable control elements to construct complex commands for organizing data structures.